package com.epower.dao.epoweruserword;

import com.epower.dataobject.EpowerBookDO;
import com.epower.dataobject.EpowerUserWordDO;
import com.epower.dataobject.EpowerWordDO;

import java.util.List;
/***
 * DAO接口层
 * @author QuickDev
 *
 */
public interface EpowerUserWordDAO {
	//查询操作
	public EpowerUserWordDO getEpowerUserWordByOption(EpowerUserWordDO epowerUserWord);
	public List<EpowerUserWordDO> getEpowerUserWordListByOption(EpowerUserWordDO epowerUserWord);
	public EpowerUserWordDO getEpowerUserWordById(Integer id);
	//删除操作
	public boolean deleteEpowerUserWordById(Integer id);
	public Integer getEpowerUserWordCountByOption(EpowerUserWordDO epowerUserWord);
	//更新操作
	public boolean  updateEpowerUserWordByOption(EpowerUserWordDO epowerUserWord);
	//添加操作
	public Integer addEpowerUserWord(EpowerUserWordDO epowerUserWord);
	
	/**
	 * 根据单词ID获取图片URL
	 * 
	 * @param wordId
	 * @return
	 */
	public String getWordImgUrl(Integer wordId);
	
	/**
	 * @param epowerUserWord
	 * @return
	 */
	public List<EpowerWordDO> getEpowerWordsByOption(EpowerUserWordDO epowerUserWord);
	
	public List<EpowerBookDO> getBookListByUserId(EpowerUserWordDO query);
	
	public List<Integer> getBookChildList(EpowerUserWordDO query);
	
	public List<EpowerWordDO> getUserWordsByUserId(EpowerUserWordDO query) ;
	
	public List<EpowerWordDO> getUserCollections(EpowerUserWordDO query) ;
	public Integer releaseCollections(Integer userId, Integer wordId);
	
	//获取某个人在某个课本中的熟悉词数
    public int getFamiliarWordCountByBookid(int bookid,int userid);
    //获取某个人在某个课本中的生词数
    public int getStrangeWordCountByBookid(int bookid,int userid);
    
    public boolean updateEpowerUserWordLevel(int bookid,int wordid,int userid,int level);
    
    public int queryEpowerUserWordCount(int wordid, int userid,int bookid);
	
}